const { defineConfig } = require('@vue/cli-service');
// 引入 Node.js 的 path 模块，用于处理文件路径
const path = require('path');

module.exports = {
  publicPath: './',
  outputDir: 'dist',
  lintOnSave: false,
  filenameHashing: false,
  // 对 webpack 配置进行修改
  configureWebpack: {
    optimization: {
      // 禁用代码分割功能，这样所有的 JavaScript 代码都会打包到一个文件中
      // 避免生成多个 chunk 文件，确保用户只需要引入一个 JS 文件
      splitChunks: false
    },
    output: {
      // 指定打包后生成的 JS 文件的名称为 chat-widget.js
      // 用户引入的就是这个文件
      filename: 'chat-widget.js'
    }
  },
  // 通过链式调用的方式修改 webpack 配置
  chainWebpack: config => {
    // 移除 preload 插件，该插件会在 HTML 中插入预加载的资源链接
    // 移除后可以避免不必要的资源预加载，减少页面加载的复杂性
    config.plugins.delete('preload');
    // 移除 prefetch 插件，该插件会在 HTML 中插入预取的资源链接
    // 移除后可以避免不必要的资源预取，减少页面加载的复杂性
    config.plugins.delete('prefetch');
  },
  css: {
    // 不将 CSS 提取到单独的文件中，而是将 CSS 内联到生成的 HTML 文件中
    // 这样可以确保用户只需要引入一个 JS 文件，而不需要额外引入 CSS 文件
    extract: false
  }
};